package org.msz.system.service.impl;

import org.msz.common.core.domain.entity.SysUser;
import org.msz.system.dao.*;
import org.msz.system.service.ISysUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.validation.Validator;

/**
 * 用户 业务层处理
 * 
 * 
 */
@Service
public class SysUserServiceImpl implements ISysUserService
{
    private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);

    @Autowired
    private SysUserMapper userMapper;

    @Autowired
    protected Validator validator;


    /**
     * 通过用户ID查询用户
     * @param userId 用户唯一ID
     * @return 用户对象信息
     */
    @Override
    public SysUser selectUserByUserId(String userId)
    {
        return null;
    }


    /**
     * 查询用户所属角色组
     * @param userId 用户名
     * @return 结果
     */
    @Override
    public String selectUserRoleGroup(String userId)
    {
       return new String();
    }

    /**
     * 用户授权角色
     * 
     * @param userId 用户ID
     * @param roleIds 角色组
     */
    @Override
    @Transactional
    public void insertUserAuth(String userId, String[] roleIds)
    {
        //TODO 通过keycloak api 解除用户与角色关系 并且在关联表解除所有联系
    }

    /**
     * 新增用户角色信息
     * 
     * @param user 用户对象
     */
    public void insertUserRole(SysUser user)
    {

    }


    /**
     * 新增用户角色信息
     * 
     * @param userId 用户ID
     * @param roleIds 角色组
     */
    public void insertUserRole(Long userId, Long[] roleIds)
    {

    }

}
